package com.zxy.salenet.web.service;

import com.github.pagehelper.PageInfo;
import com.zxy.salenet.web.pojo.SalenetCar;
import com.zxy.salenet.web.pojo.SalenetGoods;
import com.zxy.salenet.web.pojo.vo.BuySuccessVO;

import java.util.List;

/**
 * @author: zxy
 * @version: 1.0
 * @description: 用户操作获取商品实现接口
 */
      /**
 * UserOperationService:
 */
public interface UserOperationService {

    /**
     * 根据商品名称获取商品
     * @param goodsName
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<SalenetGoods> queryGoodsByName(String goodsName,Integer pageNum,Integer pageSize);

    /**
     * 根据商品类型获取商品
     * @param goodsType
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<SalenetGoods> queryGoodsByGoodsType(Integer goodsType,Integer pageNum,Integer pageSize);

    /**
     * 商品购买
     * @param getAddress
     * @return
     */
    BuySuccessVO buyGoods(List<SalenetCar> car, Integer getAddress);

    /**
     * 根据用户id获取用户对应的购物车信息
     * @param userId
     * @return
     */
    List<SalenetCar> queryCarById(Integer userId);

    /**
     * 更改购物车信息
     * @param userId
     * @param goodsId
     * @param currCount
     * @return
     */
    Integer updateGoodsCount(Integer userId, Integer goodsId, Integer currCount);

    /**
     * 删除购物车中的信息
     * @param userId
     * @param goodsId
     * @return
     */
    Integer deleteGoodsForCarByGoodsIdAndUserId(Integer userId, Integer goodsId);

    /**
     * 添加商品到购物车
     * @param car
     * @return
     */
    Integer addGoodsToCar(Integer userId,SalenetCar car);

    /**
     * 验证是否是正品
     * @param goodsId
     * @param userId
     * @param code
     * @return
     */
    Integer queryTrueAndFalse(Integer goodsId, Integer userId, Integer code);

    /**
     * 获取商品信息
     * @param goodsId
     * @return
     */
    SalenetGoods queryGoodsById(Integer goodsId);
}
